package com.tz.crm.service;

import com.tz.crm.entity.Area;

import java.util.List;

/**
 * AreaService 接口 --用于页面的省市地区的级联查询
 */
public interface AreaService extends BaseService<Area, String> {

    /**
     * 根据地区id查找地区信息
     *
     * @param id Area id
     * @return Area
     */
    Area getById(String id);

    /**
     * 根据省份名字查找所有城市信息
     */
    /**
     * 根据 名字查找地区(包含下属地区)
     *
     * @param name Area name
     * @return Area List
     */
    List<Area> getAreaWithChildren(String name);

    /**
     * 根据地区名称查找地区信息
     *
     * @param name 地区名
     * @return Area
     */
    Area getByName(String name);

    /**
     * 根据level查询地区列表
     *
     * @param level Area level
     * @return Area List
     */
    List<Area> getByLevel(int level);

    /**
     * 根据地区ID 查询出下属地区列表
     *
     * @param id Area id
     * @return Area List
     */
    List<Area> getChildrenByParentId(String id);

}
